﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.Mvc;
using GiaoTrinhEPU.Repositories;

namespace GiaoTrinhEPU.Repositories.DataModels
{
    public class PrintModel
    {
        [HiddenInput(DisplayValue = false)]
        public int Id { get; set; }

        [Required(ErrorMessage = "Tên trình độ không được để trống")]
        [DataType(DataType.Text)]
        [Display(Name = "Tên Trình Độ")]
        [Remote("IsNameAvaiable", "Print", AdditionalFields = "Id")]
        public String Name { get; set; }


        [Display(Name = "Ngày nhập")]
        public DateTime PDate { get; set; }


        [Display(Name = "Số Lượng")]
        public int Quantum { get; set; }

        [HiddenInput(DisplayValue = false)]
        public String CreatedBy { get; set; }

        [HiddenInput(DisplayValue = false)]
        public DateTime CreatedDate { get; set; }

        [HiddenInput(DisplayValue = false)]
        public DateTime ModifiedDate { get; set; }

        [HiddenInput(DisplayValue = false)]
        public String ModifiedBy { get; set; }

        [HiddenInput(DisplayValue = false)]
        public long ModifiedCount { get; set; }

        [DataType(DataType.MultilineText)]
        [AllowHtml]
        [Display(Name = "Mô tả")]
        public String Description { get; set; }

        public PrintModel() : base() { }
        public PrintModel(Print print)
            : base()
        {
            this.Id = (int)print.Id;
            this.Name = print.Name;
            this.Description = print.Description;
            this.PDate = print.PDate;
            this.Quantum = print.Quantum;
            this.CreatedBy = print.CreatedBy;
            this.CreatedDate = print.CreatedDate;
            this.ModifiedBy = print.ModifiedBy;
            this.ModifiedCount = (long)print.ModifiedCount;
            this.ModifiedDate = (DateTime)print.ModifiedDate;
        }
    }
}
